#ifndef __POSTOPIA_TILE_HEADER_HPP__
#define __POSTOPIA_TILE_HEADER_HPP__

#include <list>
#include "Position.h"

class Item;
class Creature;
class Thing;

typedef std::list<Item*> ItemList;
typedef std::list<Creature*> CreatureList;

class Tile
{
	public:
		Tile();
		~Tile();
		
		const Position getPosition() const;
		Position getPosition();
		
		void setPosition(uint16_t x, uint16_t y, uint8_t z);
		
		const ItemList getItems() const;
		const CreatureList getCreatures() const;
		
		bool addThing(Thing* thing);
		
	protected:
		Position m_position;
		
		ItemList m_items;
		CreatureList m_creatures;
};

#endif
